Computer systems have a firmware Basic Input/Output System (“BIOS”) to initialize the hardware and interface the hardware with the Operating System software. Although certain Operating Systems utilize drivers for standard devices as the interface to the hardware, certain hardware devices of the computer such as the north bridge devices are not interfaced to the software through device drivers. The north bridge is a chipset of hardware that interfaces one or more processing units and system memory on one side and the peripheral subsystem on the other. This hardware is non-standard equipment of the computer system and does not follow industry specifications of such devices. The BIOS continues to handle the interfacing of these devices to the operating system.
To provide this interface to these devices not otherwise handled by a device driver, the BIOS conventionally contains a DSDT that provides at least some of the descriptions necessary to interface these devices to the software. The DSDT applies to a particular configuration of north bridge devices for the computer system, and the DSDT is a binary file that is generated during manufacturing of the BIOS for a known computer system configuration. Upon boot-up of the computer system, a pointer to the DSDT is included in a root system description table (“RSDT”), which the operating system references to find the DSDT and learn the configuration of the system.
For certain computer systems such as high capacity computer servers, the north bridge may have many configurations which can be changed by a user or by a malfunction of a device of the north bridge. For example, the Intel® i870 north bridge chipset provides up to two Scalability Port Switches (“SPS”) where each SPS links up to two Scalability Node Controllers (“SNC”) to a Server Input/Output Hub (“SIOH”). Each SNC can support up to four microprocessors and part of system memory.
Each of these chipset component devices has configuration information that must be known by the BIOS so that the operating system can make use of these devices. For example, the chipset component's device number, function number(s), and the chipset PCI bus number must be contained in the DSDT to allow the operating system to make use of the north bridge components. However, in some chipsets the user may change the configuration information of the computer system such as the chipset device number for these devices of the north bridge.
During manufacturing of the BIOS where the binary file forming the DSDT is created, the permutations of configuration information changes that may be made by the user for a flexible north bridge chipset cannot be predetermined. However, the DSDT must contain the proper configuration information such as the chipset device number for the device to function properly in the computer system. Thus, if the user specifies a change to the configuration information for the device, the computer system may then function incorrectly due to the resulting inaccuracy of the DSDT.